#ifndef __MV_MEDIA_H
#define __MV_MEDIA_H

#include <memory>
#include <stdint.h>
#include <functional>
#include <stdint.h>

class MVMedia {
public:
    MVMedia();
    ~MVMedia();
    int init(const uint32_t InWidth, const uint32_t InHeight, const uint32_t OutWidth, const uint32_t OutHeight, const uint32_t rotation);
    int deInit();
    int startReg();
    int stopReg();
    void registerDataSyncFunc(const std::function<int(uint8_t*)> &cb);
    void release();
private:
    class MVMediaImpl;
    std::unique_ptr<MVMediaImpl> pImpl;
};

#endif